<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 

class Produto extends CI_Model {

	//ATRIBUTOS=============================================
	private $iIdProduto;
		
	//GETS E SETS===========================================
	public function get($atributo) {
		return $this->$atributo;
	}
	public function set($atributo, $valor) {
		$this->$atributo = $valor;
	}
	//======================================================
	
	/**
	 * @name
	 * @param
	 * @param
	 * @return
	 * @see
	 * @since
	 * @author
	 */
	public function criar($aProduto){
				
		$retorno;
		$sSql = " INSERT INTO tb_produto 
		(nome_produto, descricao_produto, preco_produto, status_cardapio, tb_categoria_id_categoria )		
		VALUES (
		'{$aProduto['nome_produto']}',
		'{$aProduto['descricao_produto']}',
		'{$aProduto['valor']}',
		'{$aProduto['status']}',
		'{$aProduto['categoria']}'
		)";
		
		$verifica = " select id_produto, tb_categoria_id_categoria	from  tb_produto  where nome_produto = '{$aProduto['nome_produto']}'";

		$oResultado = $this->db->query($verifica);
		
		if ($oResultado->num_rows() > 0){
			$retorno = "ja tem";
		}else if ($this->db->query($sSql)){
			
			$verifica = " select id_produto, tb_categoria_id_categoria	from  tb_produto  where nome_produto = '{$aProduto['nome_produto']}'";
			
			$oResultado = $this->db->query($verifica);
			$row = $oResultado->row_array();
			
			$this->load->library('image_lib');
				
			$this->image_lib->initialize(array(
					'source_image'      => $_FILES['imagem']['tmp_name'],
					'new_image'         => './assets/themes/default/images/produtos/'. $row['id_produto'] .'.jpg',
					'maintain_ratio'    => false,
					'width'             => 300,
					'height'            => 300,
			));
			$this->image_lib->resize();
				
			$this->image_lib->clear();
				
			$this->image_lib->initialize(array(
					'source_image'      => './assets/themes/default/images/produtos/'. $row['id_produto'] .'.jpg',
					'x_axis'            => 0,
					'y_axis'            => 0
			));
			$this->image_lib->crop();
			
// 			move_uploaded_file($_FILES['imagem']['tmp_name'], './assets/themes/default/images/produtos/'. $row['id_produto'] .'.jpg');
			$retorno = "ok";
		}else $retorno = "erro";		
		
		return $retorno;
	}
	
	/**
	 * @name
	 * @param
	 * @param
	 * @return
	 * @see
	 * @since
	 * @author
	 */
	public function ler(){
		$sSql = "
			SELECT 
				 a.id_produto,
				 a.nome_produto,
				 a.descricao_produto,
				 b.nome_categoria,
				 a.preco_produto,
				 a.status_cardapio
			FROM tb_produto AS a
			LEFT JOIN tb_categoria AS b 
				ON a.tb_categoria_id_categoria = b.id_categoria
		";
		
		$oResultado = $this->db->query($sSql);
		
		
		return $oResultado->result_array();
	}
	/**
	 * @name
	 * @param
	 * @param
	 * @return
	 * @see
	 * @since
	 * @author
	 */
	public function ler_categoria(){
		$sSql = "
			SELECT
				 id_categoria,
				 noma_categoria
			FROM tb_categoria
		";
		
		//foreach ()
		//<option value="inativo">inativo</option>
		echo $sSql;
		$oResultado = $this->db->query($sSql);
		return $oResultado->result_array();
	}
	
	/**
	 * @name
	 * @param
	 * @param
	 * @return
	 * @see
	 * @since
	 * @author
	 */
	public function atualizar($aProduto){
	
		$retorno;
		$sSql = " UPDATE tb_produto 
		SET 
			nome_produto = '{$aProduto['nome_produto']}', 
			descricao_produto = '{$aProduto['descricao_produto']}', 
			preco_produto = '{$aProduto['valor']}',
			status_cardapio = '{$aProduto['status']}',
			tb_categoria_id_categoria = '{$aProduto['categoria']}'
		WHERE  id_produto = '{$aProduto['id_produto']}'";
		
		$verifica = " SELECT id_produto, tb_categoria_id_categoria	FROM  tb_produto  where nome_produto = '{$aProduto['nome_produto']}' and id_produto <> '{$aProduto['id_produto']}'";
		
		$oResultado = $this->db->query($verifica);
		
		if ($oResultado->num_rows() > 0){
		$retorno = "ja tem";
		}else if ($this->db->query($sSql)){
			$oResultado = $this->db->query($verifica);
			$row = $oResultado->row_array();
			if($_FILES['imagem']['tmp_name']){
				
				@unlink('./assets/themes/default/images/produtos/'. $aProduto['id_produto'] .'.jpg');
				
				$this->load->library('image_lib');
				
				$this->image_lib->initialize(array(
						'source_image'      => $_FILES['imagem']['tmp_name'],
						'new_image'         => './assets/themes/default/images/produtos/'. $aProduto['id_produto'] .'.jpg',
						'maintain_ratio'    => false,
						'width'             => 300,
						'height'            => 300,
				));
				$this->image_lib->resize();
				
				$this->image_lib->clear();
				
				$this->image_lib->initialize(array(
						'source_image'      => './assets/themes/default/images/produtos/'. $aProduto['id_produto'] .'.jpg',
						'x_axis'            => 0,
						'y_axis'            => 0
				));
				$this->image_lib->crop();
// 				move_uploaded_file($_FILES['imagem']['tmp_name'], './assets/themes/default/images/produtos/'. $row['id_produto'] .'.jpg');
			}
			$retorno = "ok";
		}else $retorno = "erro";
		
				return $retorno;
				
	}
	
	/**
	 * @name
	 * @param
	 * @param
	 * @return
	 * @see
	 * @since
	 * @author
	 */
	public function deletar($iIdProduto){
		$sSql = "
		DELETE FROM
		tb_produto
		WHERE
		id_produto = {$iIdProduto}
		";
		
		$filepath = "./assets/themes/default/images/produtos/".$iIdProduto;
		unlink ($filepath . ".jpg");
		
		return $this->db->query($sSql);
		
	}
	
	/**
	 * @name
	 * @param
	 * @param
	 * @return
	 * @see
	 * @since
	 * @author
	 */
	public function lerByIdCategoria($iIdCategoria){
		$sSql = "
			SELECT
				id_produto,
				nome_produto,
				imagem_produto,
				preco_produto,
				tb_categoria_id_categoria
			FROM
				tb_produto
			WHERE
				tb_categoria_id_categoria = {$iIdCategoria} 
		";
		
		$oResultado = $this->db->query($sSql);
		return $oResultado->result_array();
	}
	
	/**
	 * @name
	 * @param
	 * @param
	 * @return
	 * @see
	 * @since
	 * @author
	 */
	public function lerById($iIdProduto){
		$sSql = "
			SELECT
				id_produto,
				nome_produto,
				descricao_produto,
				imagem_produto,
				preco_produto,
				status_cardapio,
				tb_categoria_id_categoria
			FROM
				tb_produto
			WHERE
				id_produto = {$iIdProduto}
		";
	
		$oResultado = $this->db->query($sSql);
		if ($oResultado->row()) {
		return $oResultado->result_array();
		} else {
		return false;
	}
	}
	
}

/* End of file Produto.php */